package Levels 
{
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.geom.ColorTransform;
	import Objetos.Heroi;
	import Objetos.Inimigo;
	import Objetos.Parede;
	import Objetos.Tiro;
	/**
	 * ...
	 * @author ...
	 */
	public class Level extends MovieClip
	{
		protected var MC_Heroi1:Heroi;
		protected var MC_Heroi2:Heroi;
		protected var MC_Inimigo:Inimigo;
		protected var MC_Tiro:Tiro;
		
		protected var _gameconstructor:MovieClip;
		protected var Fase1:MovieClip
		
		
		public static var AR_Heroi:Array = new Array();
		public static var AR_Parede:Array = new Array();
		public static var AR_Tiros:Array = new Array();
		
		public function Level() 
		{
			
		}
		
				
		public function updateTiro():void 
		{
			for each (MC_Tiro in AR_Tiros)
			{
				MC_Tiro.update();
			}
		}
		
		public static function colorClip(mc:DisplayObject, val:Number)
		{
				var colorTransform:ColorTransform = new ColorTransform();
				colorTransform.color = val;
				mc.transform.colorTransform = colorTransform;
		}
		
		public function removeTiros():void 
		{
			for (var i:uint = 0; i < AR_Tiros.length; i++)
			{
				if (AR_Tiros[i].x > 640 && AR_Tiros[i].ST_direcao == "direita")
				{
					Main.getInstance().MC_tela.removeChild(AR_Tiros[i]);
					AR_Tiros.splice(i, 1);
				}
				
				else if (AR_Tiros[i].x < 0 && AR_Tiros[i].ST_direcao == "esquerda")
				{
					Main.getInstance().MC_tela.removeChild(AR_Tiros[i]);
					AR_Tiros.splice(i, 1);
				}
			}
		}
		
		public function colisaoHeroiTiro():void 
		{
			for (var i:uint = 0; i < AR_Heroi.length; i++)
			{
				for (var j:uint = 0; j < AR_Tiros.length; j++)
				{
					if (AR_Heroi[i].hitTestObject(AR_Tiros[j]) && AR_Heroi[i].UI_player != AR_Tiros[j].UI_player)
					{
						Main.getInstance().MC_tela.removeChild(AR_Tiros[j]);
						AR_Tiros.splice(j, 1);
					}
				}
			}
		}
		
		public function update():void 
		{
			//trace(Main.getInstance().stage.width);
			//trace(AR_Tiros.length);
			colisaoHeroiTiro();
			updateTiro();
			removeTiros();
		}
		
		
		
	}
	
}
